/**
使用方法
表单标签中增加属性
bt 1必填 否则不必填
min_len 最小长度
max_len 最大长度
rpt		重复验证的对象
char	中文意义(用于提示语主语)
**/
function checkform()
{
	objs=document.getElementsByTagName('input');
	objs_len=objs.length;
	for(i=0;i<objs_len;i++)
	{
		objs_name=objs[i].getAttribute("char");
		/////////////验证文本框//////////////////////
		if(objs[i].getAttribute("type")=="text" || objs[i].getAttribute("type")=="password" || objs[i].getAttribute("type")=="hidden")
		{
			//必填验证
			if(objs[i].getAttribute("bt")==1 && objs[i].value=="")
			{				
				alert(objs_name+'不能为空！');
				objs[i].select();
				return false;
			}
			//最小长度验证
			if(objs[i].getAttribute("min_len")!=null && objs[i].value.length<objs[i].getAttribute("min_len"))
			{
				alert(objs_name+'最小长度为'+objs[i].getAttribute("min_len")+'！');
				objs[i].select();
				return false;
			}
			//最大长度验证
			if(objs[i].getAttribute("max_len")!=null && objs[i].value.length && objs[i].value.length>objs[i].getAttribute("max_len"))
			{
				alert(objs_name+'最大长度为'+objs[i].getAttribute("max_len")+'！');
				objs[i].select();
				return false;
			}
			
			//重复验证
			if(objs[i].getAttribute("rpt")!=null && objs[i].value!=document.getElementById(objs[i].getAttribute("rpt")).value)
			{
				alert("两次输入的"+objs_name+"不一致！");
				objs[i].select();
				return false;
			}
		}
	}
	//////////////////验证文本域////////////////////////
	objs=document.getElementsByTagName('textarea');
	objs_len=objs.length;
	for(i=0;i<objs_len;i++)
	{
		objs_name=objs[i].getAttribute("char");
		//验证文本框
		//必填验证
		if(objs[i].getAttribute("bt")==1 && objs[i].value=="")
		{				
			alert(objs_name+'不能为空！');
			objs[i].select();
			return false;
		}
		//最小长度验证
		if(objs[i].getAttribute("min_len")!=null && objs[i].value.length<objs[i].getAttribute("min_len"))
		{
			alert(objs_name+'最小长度为'+objs[i].getAttribute("min_len")+'！');
			objs[i].select();
			return false;
		}
		//最大长度验证
		if(objs[i].getAttribute("max_len")!=null && objs[i].value.length && objs[i].value.length>objs[i].getAttribute("max_len"))
		{
			alert(objs_name+'最大长度为'+objs[i].getAttribute("max_len")+'！');
			objs[i].select();
			return false;
		}
		
		//重复验证
		if(objs[i].getAttribute("rpt")!=null && objs[i].value!=document.getElementById(objs[i].getAttribute("rpt")).value)
		{
			alert("两次输入的"+objs_name+"不一致！");
			objs[i].select();
			return false;
		}

	}
	
	/////////////////////////验证下拉列表////////////////////////////
	objs=document.getElementsByTagName('select');
	objs_len=objs.length;
	for(i=0;i<objs_len;i++)
	{
		objs_name=objs[i].getAttribute("char");
		//必填验证
		if(objs[i].getAttribute("bt")==1 && objs[i].value<=0)
		{				
			alert('请选择'+objs_name+'！');
			objs[i].focus();
			return false;
		}
	}
	return true;
}

/**
* 设置下拉列表以选选项
* @param v		符合选中要求的value值
* @param objid	检查对象id
* @return void
*/
function setSelect_selected(v,objid)
{
	document.getElementById(objid).value=v;
}

/**
* 设置下拉列表以选选项
* @param v			符合选中要求的value值
* @param objname	检查对象名称
* @return void
*/
function setRadio_checked(v,objname)
{
	var i;
	var obj;
	var obj_len;
	obj=document.getElementsByName(objname);
	obj_len=obj.length;
	for(i=0;i<obj_len;i++)
	{
		if(obj[i].getAttribute('value')==v)
		{
			obj[i].setAttribute('checked',true);	
		}
		else
		{
			obj[i].setAttribute('checked',false);	
		}
	}
}

/**
* 整型补充2位小数成为货币的格式
* @param
* @return 
*/
function int2money(obj)
{
	var s=obj.value;
	var ary=s.split(".");
	if(ary.length>=2)
	{
		s=parseInt(ary[0])+'.'+parseInt(ary[1]).toString().substr(0,2);
	}
	else
	{
		s=parseInt(ary[0])+'.00';
	}
	
//网上代码 start
	if(s.indexOf('-')==0){
	   //计算负数
	   s= s.substring(1,s.lenght);
	   if(/[^0-9\.\-]/.test(s))
	   s=s.replace(/^(\d*)$/,"$1.");
	
	   s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");//取小数点后两位
	   s=s.replace(".",",");
	   var re=/(\d)(\d{3},)/;
	   while(re.test(s))
		s=s.replace(re,"$1,$2");
		s=s.replace(/,(\d\d)$/,".$1");//取小数点后两位
	   
	}else{
	   //计算正数
	   if(/[^0-9\.\-]/.test(s))
	   s=s.replace(/^(\d*)$/,"$1.");
	
	   s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");//取小数点后两位
	   s=s.replace(".",",");
	   var re=/(\d)(\d{3},)/;
	   while(re.test(s))
		s=s.replace(re,"$1,$2");
		s=s.replace(/,(\d\d)$/,".$1");//取小数点后两位
	}
//网上代码 end
	if(!isNaN(s))
	{
		obj.value=s;	
	}
	else
	{
		obj.value="0.00";
	}
}


/////////////////////////// 以下为正则部分  //////////////////////////////////////////////
var pattern = new RegExp("s$");

//去左空格;

function ltrim(s){

     return s.replace( /^\\s*/, "");

}

//去右空格;

function rtrim(s){

     return s.replace( /\\s*$/, "");

}

//去左右空格;

function trim(s){

     return rtrim(ltrim(s));

}

//是否为空值;

function IsEmpty(_str){

     var tmp_str = trim(_str);

     return tmp_str.length == 0;

}

//是否有效的Email;

function IsMail(_str){

     var tmp_str = trim(_str);

     var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;

     return pattern.test(tmp_str);

}

//是否有效的数字;

function IsNumber(_str){

     var tmp_str = trim(_str);

     var pattern = /^[0-9]/;

     return pattern.test(tmp_str);

}

//整数判断
function isInteger(str){ 
var regu = /^[-]{0,1}[0-9]{1,}$/; 
return regu.test(str); 
}


//是否有效的颜色值;

function IsColor(color){

     var temp=color;

     if (temp=="") return true;

     if (temp.length!=7) return false;

     return (temp.search(/\\#[a-fA-F0-9]{6}/) != -1);

}


/* 
用途：检查输入手机号码是否正确 
输入： 
s：字符串 
返回： 
如果通过验证返回true,否则返回false 
*/ 
function IsMobile(s){ 
	var regu =/^[1][3][0-9]{9}$/; 
	var re = new RegExp(regu); 
	if (re.test(s)) { 
		return true; 
	}else{ 
		return false; 
	} 
} 

/* 
用途：检查输入的电话号码格式是否正确 
输入： 
strPhone：字符串 
返回： 
如果通过验证返回true,否则返回false 
*/ 
function IsPhone(strPhone) 
{ 
	var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/; 
	var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; 
	if( strPhone.length > 9 )
	{ 
		if( phoneRegWithArea.test(strPhone) ){ 
			return true; 
		}else{ 
			return false; 
		} 
	}else{ 
		if( phoneRegNoArea.test( strPhone ) ){ 
			return true; 
		}else{ 
			return false; 
		} 
	
	} 
}

/* 
用途：检查输入字符串是否符合金额格式 
格式定义为带小数的正数，小数点后最多三位 
输入： 
s：字符串 
返回： 
如果通过验证返回true,否则返回false 
*/ 
function isMoney(s){ 
	var i=s.indexOf('.');
	if(i<0)
	{
		s+='.00';
	}
	var regu = "^[0-9]+[\.][0-9]{0,3}$"; 
	var re = new RegExp(regu); 
	if (re.test(s)) { 
		return true; 
	} else { 
		return false; 
	} 
} 